package com.quad.innovators.salesease.service.warehouse;

import com.baomidou.mybatisplus.extension.service.IService;
import com.quad.innovators.salesease.model.entity.warehouse.ReturnOrderScan;
import com.quad.innovators.salesease.model.form.warehouse.ReturnOrderScanForm;
import com.quad.innovators.salesease.model.vo.warehouse.SaleReturnScanNumberVO;
import com.quad.innovators.salesease.model.vo.warehouse.ScanCodeVO;

import java.util.List;

/**
 * @author : shanshan.li
 * @createTime : 2024/12/25 11:37
 * @Version : 1.0 
 */
public interface ReturnOrderScanService extends IService<ReturnOrderScan> {
    /**
     * 根据退货单详情code获取扫码列表信息
     * @param returnOrderDetailCode 退货单详情code
     * @return 返回扫码列表信息
     */
    List<ScanCodeVO> getScanDetail(String returnOrderDetailCode);

    /**
     * 根据销售退货单code获取扫码列表
     * @param code 销售退货单code
     * @return 返回扫码列表信息
     */
    List<ScanCodeVO> getScanDetailBySaleReturnCode(String code);

    /**
     * 根据退货单详情返回扫码列表
     * @param returnOrderScanCode 退货单详情code
     * @return 扫码列表
     */
    List<ReturnOrderScanForm> getListByVehicleCode(String returnOrderScanCode);

    /**
     * 删除扫码信息
     * @param code 扫码code
     * @return 返回是否成功
     */
    boolean delete(String code);

    /**
     * 新增扫码信息
     * @param form 新增扫码信息
     * @return 返回新增code
     */
    String save(ReturnOrderScanForm form);

    List<SaleReturnScanNumberVO> getReturnNumberInDetailCodeList(List<String> stringList);
}
